import { ToolbarTypes } from '../utils';

export enum ToolbarItemsIds {
  H1 = 'h1',
  H2 = 'h2',
  H3 = 'h3',
  PARAGRAPH = 'paragraph',
  TEXT_COLOR = 'text-color',
  TEXT_HIGHLIGHT = 'text-highlight-color',
  STRONG = 'strong',
  UNDERLINE = 'underline',
  ITALIC = 'italic',
  STRIKE = 'strike',
  CODE = 'code',
  MATH = 'math',
  LINK = 'link',
  BULLET_LIST = 'bullet-list',
  ORDERED_LIST = 'ordered-list',
  TO_DO_LIST = 'todo-list',
  COMMENT = 'comment',
  TABLE = 'table',
  HORIZONTAL_LINE = 'horizontal-line',
  IMAGE = 'image',
  TABLE_COLUMNS = 'table-columns',
  TABLE_ROWS = 'table-rows',
  DELETE_IMAGE = 'delete-image',
  CELL_BACKGROUND = 'cells-background',
  TOGGLE_TABLE_HEADERS = 'toggle-headers',
  INDENT_MORE = 'indent-more',
  INDENT_LESS = 'indent-less',
  DELETE_CELLS = 'delete-cells',
  TOGGLE_LIST = 'toggle-list',
  CLEAR_FORMAT = 'clear-format'
}

export const itemsMap = {
  [ToolbarTypes.static]: [
    ToolbarItemsIds.H1,
    ToolbarItemsIds.H2,
    ToolbarItemsIds.H3,
    ToolbarItemsIds.PARAGRAPH,
    ToolbarItemsIds.CODE,
    ToolbarItemsIds.MATH,
    ToolbarItemsIds.BULLET_LIST,
    ToolbarItemsIds.ORDERED_LIST,
    ToolbarItemsIds.TO_DO_LIST,
    ToolbarItemsIds.TABLE,
    ToolbarItemsIds.HORIZONTAL_LINE,
    ToolbarItemsIds.IMAGE,
    ToolbarItemsIds.INDENT_MORE,
    ToolbarItemsIds.INDENT_LESS,
    ToolbarItemsIds.TOGGLE_LIST
  ],
  [ToolbarTypes.text]: [
    ToolbarItemsIds.H1,
    ToolbarItemsIds.H2,
    ToolbarItemsIds.H3,
    ToolbarItemsIds.PARAGRAPH,
    ToolbarItemsIds.TEXT_COLOR,
    ToolbarItemsIds.TEXT_HIGHLIGHT,
    ToolbarItemsIds.STRONG,
    ToolbarItemsIds.UNDERLINE,
    ToolbarItemsIds.ITALIC,
    ToolbarItemsIds.STRIKE,
    ToolbarItemsIds.CLEAR_FORMAT,
    ToolbarItemsIds.CODE,
    ToolbarItemsIds.MATH,
    ToolbarItemsIds.LINK,
    ToolbarItemsIds.BULLET_LIST,
    ToolbarItemsIds.ORDERED_LIST,
    ToolbarItemsIds.TO_DO_LIST,
    ToolbarItemsIds.COMMENT,
    ToolbarItemsIds.INDENT_MORE,
    ToolbarItemsIds.INDENT_LESS,
    ToolbarItemsIds.TOGGLE_LIST
  ],
  [ToolbarTypes.table]: [
    ToolbarItemsIds.TABLE_COLUMNS,
    ToolbarItemsIds.TABLE_ROWS,
    ToolbarItemsIds.TOGGLE_TABLE_HEADERS
  ],
  [ToolbarTypes.image]: [ToolbarItemsIds.DELETE_IMAGE],
  [ToolbarTypes.cell]: [
    ToolbarItemsIds.TEXT_COLOR,
    ToolbarItemsIds.TEXT_HIGHLIGHT,
    ToolbarItemsIds.STRONG,
    ToolbarItemsIds.UNDERLINE,
    ToolbarItemsIds.ITALIC,
    ToolbarItemsIds.STRIKE,
    ToolbarItemsIds.CLEAR_FORMAT,
    ToolbarItemsIds.CELL_BACKGROUND,
    ToolbarItemsIds.DELETE_CELLS
  ],
  [ToolbarTypes.all]: [
    ToolbarItemsIds.TEXT_COLOR,
    ToolbarItemsIds.TEXT_HIGHLIGHT,
    ToolbarItemsIds.STRONG,
    ToolbarItemsIds.UNDERLINE,
    ToolbarItemsIds.ITALIC,
    ToolbarItemsIds.STRIKE,
    ToolbarItemsIds.CLEAR_FORMAT,
    ToolbarItemsIds.LINK,
    ToolbarItemsIds.COMMENT
  ],
  [ToolbarTypes.code]: [ToolbarItemsIds.COMMENT],
  [ToolbarTypes.noToolbar]: []
};
